<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>XMP Toolkit SDK: AdobeXMPCore::IDOMImplementationRegistry_v1 Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xmp_tagline_small.jpg"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">XMP Toolkit SDK
   &#160;<span id="projectnumber">6.0.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classAdobeXMPCore_1_1IDOMImplementationRegistry__v1.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="classAdobeXMPCore_1_1IDOMImplementationRegistry__v1-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">AdobeXMPCore::IDOMImplementationRegistry_v1 Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p>Version1 of the interface that serves as a database/registry of all the parsers and serializers available with the XMPCore library.  
 <a href="classAdobeXMPCore_1_1IDOMImplementationRegistry__v1.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="IDOMImplementationRegistry_8h_source.html">IDOMImplementationRegistry.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for AdobeXMPCore::IDOMImplementationRegistry_v1:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classAdobeXMPCore_1_1IDOMImplementationRegistry__v1.png" usemap="#AdobeXMPCore::IDOMImplementationRegistry_5Fv1_map" alt=""/>
  <map id="AdobeXMPCore::IDOMImplementationRegistry_5Fv1_map" name="AdobeXMPCore::IDOMImplementationRegistry_5Fv1_map">
<area href="classAdobeXMPCommon_1_1ISharedObject.html" title="Interface that serves as the base interface of all the externally exposed interfaces." alt="AdobeXMPCommon::ISharedObject" shape="rect" coords="0,0,293,24"/>
<area href="classAdobeXMPCommon_1_1IVersionable.html" title="Interface that serves as the base interface for all the externally exposed interfaces which needs to ..." alt="AdobeXMPCommon::IVersionable" shape="rect" coords="303,0,596,24"/>
  </map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a2d0e89a55e59f6bd40d864465f373b13"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceAdobeXMPCore.html#a737ec082bb4e7f817b45e073337c0893">spIDOMParser</a> APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1IDOMImplementationRegistry__v1.html#a2d0e89a55e59f6bd40d864465f373b13">GetParser</a> (const char *key) const =0</td></tr>
<tr class="memdesc:a2d0e89a55e59f6bd40d864465f373b13"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a parser corresponding to the key and returns to the client for usage.  <a href="classAdobeXMPCore_1_1IDOMImplementationRegistry__v1.html#a2d0e89a55e59f6bd40d864465f373b13">More...</a><br /></td></tr>
<tr class="separator:a2d0e89a55e59f6bd40d864465f373b13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a135840fcf9e5247f56c712cdc566375a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceAdobeXMPCore.html#af3525e619e07f58d7eb8247b56ddad21">spIDOMSerializer</a> APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1IDOMImplementationRegistry__v1.html#a135840fcf9e5247f56c712cdc566375a">GetSerializer</a> (const char *key) const =0</td></tr>
<tr class="memdesc:a135840fcf9e5247f56c712cdc566375a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a serializer corresponding to the key and returns to the client for usage.  <a href="classAdobeXMPCore_1_1IDOMImplementationRegistry__v1.html#a135840fcf9e5247f56c712cdc566375a">More...</a><br /></td></tr>
<tr class="separator:a135840fcf9e5247f56c712cdc566375a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a986a5bee0a91be4d115e6b7dd5a8974b"><td class="memItemLeft" align="right" valign="top">virtual bool APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1IDOMImplementationRegistry__v1.html#a986a5bee0a91be4d115e6b7dd5a8974b">RegisterParser</a> (const char *key, <a class="el" href="namespaceAdobeXMPCore.html#a9dd27d79138a3d399e48343b626cd3a9">pIClientDOMParser_base</a> parser)=0</td></tr>
<tr class="memdesc:a986a5bee0a91be4d115e6b7dd5a8974b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Registers a parser with the database along with the key.  <a href="classAdobeXMPCore_1_1IDOMImplementationRegistry__v1.html#a986a5bee0a91be4d115e6b7dd5a8974b">More...</a><br /></td></tr>
<tr class="separator:a986a5bee0a91be4d115e6b7dd5a8974b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9301ef751ffa40af95bbb95e19fb6c5f"><td class="memItemLeft" align="right" valign="top">virtual bool APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1IDOMImplementationRegistry__v1.html#a9301ef751ffa40af95bbb95e19fb6c5f">RegisterSerializer</a> (const char *key, <a class="el" href="namespaceAdobeXMPCore.html#a2dfed76bf986f6fad861aa2323b28caf">pIClientDOMSerializer_base</a> serializer)=0</td></tr>
<tr class="memdesc:a9301ef751ffa40af95bbb95e19fb6c5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Registers a serializer with the database along with the key.  <a href="classAdobeXMPCore_1_1IDOMImplementationRegistry__v1.html#a9301ef751ffa40af95bbb95e19fb6c5f">More...</a><br /></td></tr>
<tr class="separator:a9301ef751ffa40af95bbb95e19fb6c5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classAdobeXMPCommon_1_1ISharedObject"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classAdobeXMPCommon_1_1ISharedObject')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classAdobeXMPCommon_1_1ISharedObject.html">AdobeXMPCommon::ISharedObject</a></td></tr>
<tr class="memitem:ab90d4ec1fcd975a7ac62dcb866335cdc inherit pub_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="memItemLeft" align="right" valign="top">virtual void APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCommon_1_1ISharedObject.html#ab90d4ec1fcd975a7ac62dcb866335cdc">Acquire</a> () const <a class="el" href="XMPCommonDefines_8h.html#a5a929113d3d50bda3fb7135a5c8b24a2">__NOTHROW__</a>=0</td></tr>
<tr class="memdesc:ab90d4ec1fcd975a7ac62dcb866335cdc inherit pub_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by the clients of the object to indicate that he has acquired the shared ownership of the object.  <a href="classAdobeXMPCommon_1_1ISharedObject.html#ab90d4ec1fcd975a7ac62dcb866335cdc">More...</a><br /></td></tr>
<tr class="separator:ab90d4ec1fcd975a7ac62dcb866335cdc inherit pub_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf5a54e09f87366170ea19c618f68bc3 inherit pub_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="memItemLeft" align="right" valign="top">virtual void APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCommon_1_1ISharedObject.html#abf5a54e09f87366170ea19c618f68bc3">Release</a> () const <a class="el" href="XMPCommonDefines_8h.html#a5a929113d3d50bda3fb7135a5c8b24a2">__NOTHROW__</a>=0</td></tr>
<tr class="memdesc:abf5a54e09f87366170ea19c618f68bc3 inherit pub_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by the clients of the object to indicate he has released his shared ownership of the object. If this being the last client than this function should call Destroy to delete and release the memory.  <a href="classAdobeXMPCommon_1_1ISharedObject.html#abf5a54e09f87366170ea19c618f68bc3">More...</a><br /></td></tr>
<tr class="separator:abf5a54e09f87366170ea19c618f68bc3 inherit pub_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classAdobeXMPCommon_1_1IVersionable"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classAdobeXMPCommon_1_1IVersionable')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classAdobeXMPCommon_1_1IVersionable.html">AdobeXMPCommon::IVersionable</a></td></tr>
<tr class="memitem:ad6539461695decfaea8a44798db51e54 inherit pub_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memTemplParams" colspan="2">template&lt;typename requestedInterface &gt; </td></tr>
<tr class="memitem:ad6539461695decfaea8a44798db51e54 inherit pub_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> requestedInterface *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classAdobeXMPCommon_1_1IVersionable.html#ad6539461695decfaea8a44798db51e54">GetInterfacePointer</a> ()</td></tr>
<tr class="memdesc:ad6539461695decfaea8a44798db51e54 inherit pub_methods_classAdobeXMPCommon_1_1IVersionable"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the raw pointer to an interface object implementing the requested version.  <a href="classAdobeXMPCommon_1_1IVersionable.html#ad6539461695decfaea8a44798db51e54">More...</a><br /></td></tr>
<tr class="separator:ad6539461695decfaea8a44798db51e54 inherit pub_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1827fc276dd3beb0df9aaab4ad1626d0 inherit pub_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memTemplParams" colspan="2">template&lt;typename requestedInterface &gt; </td></tr>
<tr class="memitem:a1827fc276dd3beb0df9aaab4ad1626d0 inherit pub_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memTemplItemLeft" align="right" valign="top">const <a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> requestedInterface *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classAdobeXMPCommon_1_1IVersionable.html#a1827fc276dd3beb0df9aaab4ad1626d0">GetInterfacePointer</a> () const</td></tr>
<tr class="memdesc:a1827fc276dd3beb0df9aaab4ad1626d0 inherit pub_methods_classAdobeXMPCommon_1_1IVersionable"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the raw pointer to a const interface object implementing the requested version.  <a href="classAdobeXMPCommon_1_1IVersionable.html#a1827fc276dd3beb0df9aaab4ad1626d0">More...</a><br /></td></tr>
<tr class="separator:a1827fc276dd3beb0df9aaab4ad1626d0 inherit pub_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a6b12abfcc01cea39851ac51977cb1562"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a197acc21ecf883449824a1e87a99586a">spIDOMImplementationRegistry</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1IDOMImplementationRegistry__v1.html#a6b12abfcc01cea39851ac51977cb1562">GetDOMImplementationRegistry</a> ()</td></tr>
<tr class="memdesc:a6b12abfcc01cea39851ac51977cb1562"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides the reference to the database of Serializers and Parsers available with the library.  <a href="classAdobeXMPCore_1_1IDOMImplementationRegistry__v1.html#a6b12abfcc01cea39851ac51977cb1562">More...</a><br /></td></tr>
<tr class="separator:a6b12abfcc01cea39851ac51977cb1562"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a8fab4e8f7a4b6b652c623f58d7e3432b"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1IDOMImplementationRegistry__v1.html#a8fab4e8f7a4b6b652c623f58d7e3432b">~IDOMImplementationRegistry_v1</a> () <a class="el" href="XMPCommonDefines_8h.html#a5a929113d3d50bda3fb7135a5c8b24a2">__NOTHROW__</a></td></tr>
<tr class="separator:a8fab4e8f7a4b6b652c623f58d7e3432b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classAdobeXMPCommon_1_1ISharedObject"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classAdobeXMPCommon_1_1ISharedObject')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classAdobeXMPCommon_1_1ISharedObject.html">AdobeXMPCommon::ISharedObject</a></td></tr>
<tr class="memitem:a5869ff89d0b7dd0a7b525401a1d57b31 inherit pro_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCommon_1_1ISharedObject.html#a5869ff89d0b7dd0a7b525401a1d57b31">~ISharedObject</a> () <a class="el" href="XMPCommonDefines_8h.html#a5a929113d3d50bda3fb7135a5c8b24a2">__NOTHROW__</a>=0</td></tr>
<tr class="separator:a5869ff89d0b7dd0a7b525401a1d57b31 inherit pro_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afcb42109aed83c3b0c133bc413388037 inherit pro_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCommon_1_1ISharedObject.html#afcb42109aed83c3b0c133bc413388037">REQ_FRIEND_CLASS_DECLARATION</a> ()</td></tr>
<tr class="separator:afcb42109aed83c3b0c133bc413388037 inherit pro_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classAdobeXMPCommon_1_1IVersionable"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classAdobeXMPCommon_1_1IVersionable')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classAdobeXMPCommon_1_1IVersionable.html">AdobeXMPCommon::IVersionable</a></td></tr>
<tr class="memitem:a3ccd9a1bdf7008906e094fb4e7f69826 inherit pro_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCommon_1_1IVersionable.html#a3ccd9a1bdf7008906e094fb4e7f69826">~IVersionable</a> ()</td></tr>
<tr class="separator:a3ccd9a1bdf7008906e094fb4e7f69826 inherit pro_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac619a81b428c88cfce50feaa91a2479f inherit pro_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCommon_1_1IVersionable.html#ac619a81b428c88cfce50feaa91a2479f">REQ_FRIEND_CLASS_DECLARATION</a> ()</td></tr>
<tr class="separator:ac619a81b428c88cfce50feaa91a2479f inherit pro_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Version1 of the interface that serves as a database/registry of all the parsers and serializers available with the XMPCore library. </p>
<p>Provides all the functions to</p><ol type="1">
<li>get registered serializers and parsers from the database.</li>
<li>add client defined serializers and parsers to the database. <dl class="section attention"><dt>Attention</dt><dd>Support multi threading if library is configured to support multi-threading by default. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>By default following keys are registered by default with the database by the library:</dd></dl>
</li>
<li>rdf </li>
</ol>

<p class="definition">Definition at line <a class="el" href="IDOMImplementationRegistry_8h_source.html#l00031">31</a> of file <a class="el" href="IDOMImplementationRegistry_8h_source.html">IDOMImplementationRegistry.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a8fab4e8f7a4b6b652c623f58d7e3432b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8fab4e8f7a4b6b652c623f58d7e3432b">&#9670;&nbsp;</a></span>~IDOMImplementationRegistry_v1()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual AdobeXMPCore::IDOMImplementationRegistry_v1::~IDOMImplementationRegistry_v1 </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Destructor </p>

<p class="definition">Definition at line <a class="el" href="IDOMImplementationRegistry_8h_source.html#l00135">135</a> of file <a class="el" href="IDOMImplementationRegistry_8h_source.html">IDOMImplementationRegistry.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;{}</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a6b12abfcc01cea39851ac51977cb1562"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6b12abfcc01cea39851ac51977cb1562">&#9670;&nbsp;</a></span>GetDOMImplementationRegistry()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a197acc21ecf883449824a1e87a99586a">spIDOMImplementationRegistry</a> AdobeXMPCore::IDOMImplementationRegistry_v1::GetDOMImplementationRegistry </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Provides the reference to the database of Serializers and Parsers available with the library. </p>
<dl class="section return"><dt>Returns</dt><dd>A shared pointer to #IDOMImplementationRegistry object containing all the entries for serailizers and parsers. </dd></dl>

</div>
</div>
<a id="a2d0e89a55e59f6bd40d864465f373b13"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2d0e89a55e59f6bd40d864465f373b13">&#9670;&nbsp;</a></span>GetParser()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceAdobeXMPCore.html#a737ec082bb4e7f817b45e073337c0893">spIDOMParser</a> APICALL AdobeXMPCore::IDOMImplementationRegistry_v1::GetParser </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>key</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets a parser corresponding to the key and returns to the client for usage. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>Pointer to a const NULL terminated char buffer containing key of the parser in the database. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A shared pointer to a #IDOMParser object. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>In case the key is not present in the database an invalid shared pointer will be returned. </dd>
<dd>
key is case sensitive. </dd></dl>

</div>
</div>
<a id="a135840fcf9e5247f56c712cdc566375a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a135840fcf9e5247f56c712cdc566375a">&#9670;&nbsp;</a></span>GetSerializer()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceAdobeXMPCore.html#af3525e619e07f58d7eb8247b56ddad21">spIDOMSerializer</a> APICALL AdobeXMPCore::IDOMImplementationRegistry_v1::GetSerializer </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>key</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets a serializer corresponding to the key and returns to the client for usage. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>Pointer to a const NULL terminated char buffer containing key of the serializer in the database. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A shared pointer to a #IDOMSerializer object. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>In case the key is not present in the database an invalid shared pointer will be returned. </dd>
<dd>
key is case sensitive. </dd></dl>

</div>
</div>
<a id="a986a5bee0a91be4d115e6b7dd5a8974b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a986a5bee0a91be4d115e6b7dd5a8974b">&#9670;&nbsp;</a></span>RegisterParser()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool APICALL AdobeXMPCore::IDOMImplementationRegistry_v1::RegisterParser </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceAdobeXMPCore.html#a9dd27d79138a3d399e48343b626cd3a9">pIClientDOMParser_base</a>&#160;</td>
          <td class="paramname"><em>parser</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Registers a parser with the database along with the key. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>Pointer to a const NULL terminated char buffer containing key of the parser to be used while registering. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">parser</td><td>A pointer to #IClientDOMParser object to be registered with the database </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True in case parser is successfully registered, false otherwise like in case key is already registered. </dd></dl>

</div>
</div>
<a id="a9301ef751ffa40af95bbb95e19fb6c5f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9301ef751ffa40af95bbb95e19fb6c5f">&#9670;&nbsp;</a></span>RegisterSerializer()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool APICALL AdobeXMPCore::IDOMImplementationRegistry_v1::RegisterSerializer </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceAdobeXMPCore.html#a2dfed76bf986f6fad861aa2323b28caf">pIClientDOMSerializer_base</a>&#160;</td>
          <td class="paramname"><em>serializer</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Registers a serializer with the database along with the key. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>Pointer to a const NULL terminated char buffer containing key of the serializer to be used while registering. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">serializer</td><td>A pointer to #IClientDOMSerializer object to be registered with the database. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True in case serializer is successfully registered, false otherwise like in case key is already registered. </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>public/include/XMPCore/Interfaces/<a class="el" href="IDOMImplementationRegistry_8h_source.html">IDOMImplementationRegistry.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespaceAdobeXMPCore.html">AdobeXMPCore</a></li><li class="navelem"><a class="el" href="classAdobeXMPCore_1_1IDOMImplementationRegistry__v1.html">IDOMImplementationRegistry_v1</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
  </ul>
</div>
</body>
</html>
